package com.xiaochen.baidu.common.design.combination.logic;

import com.xiaochen.baidu.common.design.combination.engine.model.vo.TreeNodeLink;

import java.util.List;
import java.util.Map;

/**
 * @author xc
 * @date 2025/10/11/15:12
 * @desc
 */
public interface LogicFilter<T> {
    /**
     * 逻辑决策器
     *
     * @param matterValue          决策值
     * @param treeNodeLineInfoList 决策节点
     * @return 下一个节点Id
     */
    Long filter(T matterValue, List<TreeNodeLink> treeNodeLineInfoList);

    /**
     * 获取决策值
     *
     * @param decisionMatter 决策物料
     * @return 决策值
     */
    T matterValue(Long treeId, Map<String, T> decisionMatter);
}
